#region head comment
/*
Code generate by YhdSdkTool.
email:starpeng@vip.qq.com
2013-01-21 23:00:56:918 +08:00
*/
#endregion

using System;
using System.Xml.Serialization;
using System.Collections.Generic;
using YhdSdk.Domain;
using YhdSdk.Domain.Product;
using YhdSdk.Response.Product;

namespace YhdSdk.Request.Product
{
    /// <summary>
    /// 查询普通产品的信息
    ///<para></para>
    ///<para>用户可以通过canShow、canSale、productCname，productIdList,outerIdList,categoryId等参数来获取相应的普通产品(没有尺寸大小和颜色之分的产品)信息。查询成功，则返回查询成功记录数及相应的产品信息，</para>
    ///<para>查询失败，则返回查询失败记录数，及相应的错误信息描述</para>
    /// </summary>
    public class YhdGeneralProductsSearchRequest : IYhdRequest<YhdGeneralProductsSearchResponse>
    {
        /// <summary>
        /// 是否可见(强制'上'下架),1是0否
        /// </summary>
        [XmlElement("canShow")]
        public Nullable<Int32> CanShow
        {
            get;
            set;
        }

        /// <summary>
        /// 上下架状态0：下架，1：上架
        /// </summary>
        [XmlElement("canSale")]
        public Nullable<Int32> CanSale
        {
            get;
            set;
        }

        /// <summary>
        /// 当前页数（默认1）
        /// </summary>
        [XmlElement("curPage")]
        public Nullable<Int32> CurPage
        {
            get;
            set;
        }

        /// <summary>
        /// 每页显示记录数（默认50、最大限制：100）
        /// </summary>
        [XmlElement("pageRows")]
        public Nullable<Int32> PageRows
        {
            get;
            set;
        }

        /// <summary>
        /// 商家产品中文名称(支持模糊查询)
        /// </summary>
        [XmlElement("productCname")]
        public String ProductCname
        {
            get;
            set;
        }

        /// <summary>
        /// 产品Id列表(最多productId个数为100,与outerIdList二选一，两个都填，默认为prodcuctIdList)
        /// </summary>
        [XmlElement("productIdList")]
        public String ProductIdList
        {
            get;
            set;
        }

        /// <summary>
        /// outerId列表(最多outerId个数为100，与productIdList二选一，两个都填，默认为prodcuctIdList)
        /// </summary>
        [XmlElement("outerIdList")]
        public String OuterIdList
        {
            get;
            set;
        }

        /// <summary>
        /// 审核状态[1.未审核(新增未审核,编辑待审核);2.审核通过(审核通过);3.审核失败(审核未通过,图片审核失败,文描审核失败)]
        /// </summary>
        [XmlElement("verifyFlg")]
        public Nullable<Int32> VerifyFlg
        {
            get;
            set;
        }

        /// <summary>
        /// Api接口名称
        /// </summary>
        public String ApiName
        {
            get{ return "yhd.general.products.search"; }
        }

        /// <summary>
        /// 获取参数列表
        /// </summary>
        public IDictionary<string, string> GetParameters()
        {
            YhdDictionary parameters = new YhdDictionary();
            parameters.Add("canShow" ,this.CanShow);
            parameters.Add("canSale" ,this.CanSale);
            parameters.Add("curPage" ,this.CurPage);
            parameters.Add("pageRows" ,this.PageRows);
            parameters.Add("productCname" ,this.ProductCname);
            parameters.Add("productIdList" ,this.ProductIdList);
            parameters.Add("outerIdList" ,this.OuterIdList);
            parameters.Add("verifyFlg" ,this.VerifyFlg);
            return parameters;
        }

        /// <summary>
        /// 验证参数
        /// </summary>
        public void Validate()
        {
        }

    }
}
